package fr.afcepf.atod21.service;

import java.util.List;

import fr.afcepf.atod21.dao.DaoStagiaireImpl;
import fr.afcepf.atod21.dao.IDaoStagiaire;
import fr.afcepf.atod21.entity.Stagiaire;
import fr.afcepf.atod21.exception.Atod21Exeception;

/**
 * Classe metier pour traiter les stagiaires.
 * @author Stagiaire
 *
 */
public class BusinessStagiaireImpl implements IBusinessStagiaire {
    /**
     * Acces au DAO.
     */
    private IDaoStagiaire daoStagiaire = new DaoStagiaireImpl();

    @Override
    public List<Stagiaire> rechercher(String paramNomTasVu) {
        return daoStagiaire.rechercher(paramNomTasVu);
    }

    @Override
    public List<Stagiaire> rechercher(int paramIdOrganismeTasVu) {
        return daoStagiaire.rechercher(paramIdOrganismeTasVu);
    }

    @Override
    public Stagiaire ajouter(Stagiaire paramStagTasVu) throws Atod21Exeception {
        List<Stagiaire> stagiaires = rechercher(paramStagTasVu.getNom());
        boolean trouve = false;

        if(stagiaires != null){
            for (Stagiaire stagiaire : stagiaires) {
                if (stagiaire.getNom().equals(paramStagTasVu.getNom())
                        && stagiaire.getPrenom().equals(paramStagTasVu.getPrenom())
                        && stagiaire.getAdresse().equals(paramStagTasVu.getAdresse())) {
                    trouve= true;
                }
            }
        }
        if(!trouve){
            paramStagTasVu = daoStagiaire.ajouter(paramStagTasVu);
        }
        return paramStagTasVu;
    }

    @Override
    public Stagiaire renvoi(Stagiaire paramStagTasVu) throws Atod21Exeception {
        // TODO Auto-generated method stub
        return null;
    }

    /**
     * @return the daoStagiaire
     */
    public IDaoStagiaire getDaoStagiaire() {
        return daoStagiaire;
    }

    /**
     * @param paramDaoStagiaireTasVu the daoStagiaire to set
     */
    public void setDaoStagiaire(IDaoStagiaire paramDaoStagiaireTasVu) {
        daoStagiaire = paramDaoStagiaireTasVu;
    }

}
